<!DOCTYPE HTML><html lang="zh-CN"><head><meta charset="utf-8"><meta name="keywords" content="高项_第十四章信息文档管理与配置管理, 丁一的博客"><meta name="description" content="第十四章信息文档管理与配置管理
软件文档分为三类
若管理文档中的3标注了开发文档，则属于开发文档里若没有开发两字，则属于管理文档中

文档质量的四个等级

配置管理
什么是配置管理（了解）

配置管理的6个主要活动

配置项
配置项:项目计"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"><meta name="renderer" content="webkit|ie-stand|ie-comp"><meta name="mobile-web-app-capable" content="yes"><meta name="format-detection" content="telephone=no"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><meta name="referrer" content="no-referrer-when-downgrade"><title>高项_第十四章信息文档管理与配置管理 | 丁一的博客</title><link rel="icon" type="image/png" href="/medias/comment_bg.png"><link rel="stylesheet" type="text/css" href="/libs/awesome/css/all.min.css"><link rel="stylesheet" type="text/css" href="/libs/materialize/materialize.min.css"><link rel="stylesheet" type="text/css" href="/libs/aos/aos.css"><link rel="stylesheet" type="text/css" href="/libs/animate/animate.min.css"><link rel="stylesheet" type="text/css" href="/libs/lightGallery/css/lightgallery.min.css"><link rel="stylesheet" type="text/css" href="/css/matery.css"><link rel="stylesheet" type="text/css" href="/css/my.css"><script src="/libs/jquery/jquery-3.6.0.min.js"></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/hexo-math@4.0.0/dist/style.css"><style type="text/css" lang="css">#loading-container{position:fixed;top:0;left:0;min-height:100vh;width:100vw;z-index:9999;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#fff;text-align:center;-webkit-transition:opacity 1s ease;-moz-transition:opacity 1s ease;-o-transition:opacity 1s ease;transition:opacity 1s ease}.loading-image{width:120px;height:50px;transform:translate(-50%)}.loading-image div:nth-child(2){-webkit-animation:pacman-balls 1s linear 0s infinite;animation:pacman-balls 1s linear 0s infinite}.loading-image div:nth-child(3){-webkit-animation:pacman-balls 1s linear .33s infinite;animation:pacman-balls 1s linear .33s infinite}.loading-image div:nth-child(4){-webkit-animation:pacman-balls 1s linear .66s infinite;animation:pacman-balls 1s linear .66s infinite}.loading-image div:nth-child(5){-webkit-animation:pacman-balls 1s linear .99s infinite;animation:pacman-balls 1s linear .99s infinite}.loading-image div:first-of-type{width:0;height:0;border:25px solid #49b1f5;border-right-color:transparent;border-radius:25px;-webkit-animation:rotate_pacman_half_up .5s 0s infinite;animation:rotate_pacman_half_up .5s 0s infinite}.loading-image div:nth-child(2){width:0;height:0;border:25px solid #49b1f5;border-right-color:transparent;border-radius:25px;-webkit-animation:rotate_pacman_half_down .5s 0s infinite;animation:rotate_pacman_half_down .5s 0s infinite;margin-top:-50px}@-webkit-keyframes rotate_pacman_half_up{0%{transform:rotate(270deg)}50%{transform:rotate(1turn)}to{transform:rotate(270deg)}}@keyframes rotate_pacman_half_up{0%{transform:rotate(270deg)}50%{transform:rotate(1turn)}to{transform:rotate(270deg)}}@-webkit-keyframes rotate_pacman_half_down{0%{transform:rotate(90deg)}50%{transform:rotate(0)}to{transform:rotate(90deg)}}@keyframes rotate_pacman_half_down{0%{transform:rotate(90deg)}50%{transform:rotate(0)}to{transform:rotate(90deg)}}@-webkit-keyframes pacman-balls{75%{opacity:.7}to{transform:translate(-100px,-6.25px)}}@keyframes pacman-balls{75%{opacity:.7}to{transform:translate(-100px,-6.25px)}}.loading-image div:nth-child(3),.loading-image div:nth-child(4),.loading-image div:nth-child(5),.loading-image div:nth-child(6){background-color:#49b1f5;width:15px;height:15px;border-radius:100%;margin:2px;width:10px;height:10px;position:absolute;transform:translateY(-6.25px);top:25px;left:100px}.loading-text{margin-bottom:20vh;text-align:center;color:#2c3e50;font-size:2rem;box-sizing:border-box;padding:0 10px;text-shadow:0 2px 10px rgba(0,0,0,.2)}@media only screen and (max-width:500px){.loading-text{font-size:1.5rem}}.fadeout{opacity:0}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0)}}</style><script>(function () {
    const loaded = function(){
       setTimeout(function(){
            const loader = document.getElementById("loading-container");
            loader.className="fadeout" ;//使用渐隐的方法淡出loading page
            // document.getElementById("body-wrap").style.display="flex";
            setTimeout(function(){
                loader.style.display="none";
            },1000); 
        },1000);//强制显示loading page 1s  
    };
    loaded();
})()</script><meta name="generator" content="Hexo 5.4.2"><style>.github-emoji{position:relative;display:inline-block;width:1.2em;min-height:1.2em;overflow:hidden;vertical-align:top;color:transparent}.github-emoji>span{position:relative;z-index:10}.github-emoji .fancybox,.github-emoji img{margin:0!important;padding:0!important;border:none!important;outline:0!important;text-decoration:none!important;user-select:none!important;cursor:auto!important}.github-emoji img{height:1.2em!important;width:1.2em!important;position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;user-select:none!important;cursor:auto!important}.github-emoji-fallback{color:inherit}.github-emoji-fallback img{opacity:0!important}</style><link rel="alternate" href="/atom.xml" title="丁一的博客" type="application/atom+xml"><link rel="stylesheet" href="/css/prism.css" type="text/css"></head><script src="https://cdn.jsdelivr.net/npm/bluebird@3/js/browser/bluebird.min.js"></script><script src="https://cdn.jsdelivr.net/npm/whatwg-fetch@2.0.3/fetch.min.js"></script><script>fetch("https://v1.hitokoto.cn").then(function(t){return t.json()}).then(function(t){document.getElementById("hitokoto").innerText=t.hitokoto+"——【"+t.from+"】"}).catch(function(t){console.error(t)})</script><div id="loading-container"><p class="loading-text">玩命加载中 . . .</p><div class="loading-image"><div></div><div></div><div></div><div></div><div></div></div></div><body><div class="stars-con"><div id="stars"></div><div id="stars2"></div><div id="stars3"></div></div><svg aria-hidden="true" style="position:absolute;overflow:hidden;width:0;height:0"><symbol id="icon-sun" viewBox="0 0 1024 1024"><path d="M960 512l-128 128v192h-192l-128 128-128-128H192v-192l-128-128 128-128V192h192l128-128 128 128h192v192z" fill="#FFD878" p-id="8420"></path><path d="M736 512a224 224 0 1 0-448 0 224 224 0 1 0 448 0z" fill="#FFE4A9" p-id="8421"></path><path d="M512 109.248L626.752 224H800v173.248L914.752 512 800 626.752V800h-173.248L512 914.752 397.248 800H224v-173.248L109.248 512 224 397.248V224h173.248L512 109.248M512 64l-128 128H192v192l-128 128 128 128v192h192l128 128 128-128h192v-192l128-128-128-128V192h-192l-128-128z" fill="#4D5152" p-id="8422"></path><path d="M512 320c105.888 0 192 86.112 192 192s-86.112 192-192 192-192-86.112-192-192 86.112-192 192-192m0-32a224 224 0 1 0 0 448 224 224 0 0 0 0-448z" fill="#4D5152" p-id="8423"></path></symbol><symbol id="icon-moon" viewBox="0 0 1024 1024"><path d="M611.370667 167.082667a445.013333 445.013333 0 0 1-38.4 161.834666 477.824 477.824 0 0 1-244.736 244.394667 445.141333 445.141333 0 0 1-161.109334 38.058667 85.077333 85.077333 0 0 0-65.066666 135.722666A462.08 462.08 0 1 0 747.093333 102.058667a85.077333 85.077333 0 0 0-135.722666 65.024z" fill="#FFB531" p-id="11345"></path><path d="M329.728 274.133333l35.157333-35.157333a21.333333 21.333333 0 1 0-30.165333-30.165333l-35.157333 35.157333-35.114667-35.157333a21.333333 21.333333 0 0 0-30.165333 30.165333l35.114666 35.157333-35.114666 35.157334a21.333333 21.333333 0 1 0 30.165333 30.165333l35.114667-35.157333 35.157333 35.157333a21.333333 21.333333 0 1 0 30.165333-30.165333z" fill="#030835" p-id="11346"></path></symbol></svg> <a onclick="switchNightMode()" class="icon-V hidden" title="切换主题"><svg width="48" height="48" viewBox="0 0 1024 1024"><use id="modeicon" xlink:href="#icon-moon"></use></svg></a><script>function checkNightMode(){"1"===localStorage.getItem("isDark")||"0"!==localStorage.getItem("isDark")&&(20<=(new Date).getHours()||(new Date).getHours()<7||matchMedia("(prefers-color-scheme: dark)").matches)?($("body").addClass("DarkMode"),$("#changeMode-top").removeClass("fa-moon").addClass("fa-sun"),$("#modeicon").attr("xlink:href","#icon-sun")):$("#modeicon").attr("xlink:href","#icon-moon")}function switchNightMode(){$('<div class="Cuteen_DarkSky"><div class="Cuteen_DarkPlanet"></div></div>').appendTo($("body")),setTimeout(function(){$("body").hasClass("DarkMode")?($("body").removeClass("DarkMode"),localStorage.setItem("isDark","0"),$("#changeMode-top").removeClass("fa-sun").addClass("fa-moon"),$("#modeicon").attr("xlink:href","#icon-moon")):($("body").addClass("DarkMode"),localStorage.setItem("isDark","1"),$("#changeMode-top").removeClass("fa-moon").addClass("fa-sun"),$("#modeicon").attr("xlink:href","#icon-sun")),setTimeout(function(){$(".Cuteen_DarkSky").fadeOut(1e3,function(){$(this).remove()})},2e3)})}function switchNightModeTop(){$("body").hasClass("DarkMode")?($("body").removeClass("DarkMode"),localStorage.setItem("isDark","0"),$("#changeMode-top").removeClass("fa-sun").addClass("fa-moon"),$("#modeicon").attr("xlink:href","#icon-moon")):($("body").addClass("DarkMode"),localStorage.setItem("isDark","1"),$("#changeMode-top").removeClass("fa-moon").addClass("fa-sun"),$("#modeicon").attr("xlink:href","#icon-sun"))}</script><header class="navbar-fixed"><nav id="headNav" class="bg-color nav-transparent"><div id="navContainer" class="nav-wrapper container"><div class="brand-logo"><a href="/" class="waves-effect waves-light"><div><img src="/medias/book.gif" class="logo-img" alt="LOGO"> <span class="logo-span">丁一的博客</span></div></a></div><a href="#" data-target="mobile-nav" class="sidenav-trigger button-collapse"><i class="fas fa-bars"></i></a><ul class="right nav-menu"><li class="hide-on-med-and-down nav-item"><a href="/" class="waves-effect waves-light"><i class="fas fa-home" style="zoom:.6"></i> <span>首页</span></a></li><li class="hide-on-med-and-down nav-item"><a href="/tags" class="waves-effect waves-light"><i class="fas fa-tags" style="zoom:.6"></i> <span>标签</span></a></li><li class="hide-on-med-and-down nav-item"><a href="/categories" class="waves-effect waves-light"><i class="fas fa-bookmark" style="zoom:.6"></i> <span>分类</span></a></li><li class="hide-on-med-and-down nav-item"><a href="/archives" class="waves-effect waves-light"><i class="fas fa-archive" style="zoom:.6"></i> <span>时间轴</span></a></li><li class="hide-on-med-and-down nav-item"><a href="/about" class="waves-effect waves-light"><i class="fas fa-user-circle" style="zoom:.6"></i> <span>关于</span></a></li><li class="hide-on-med-and-down nav-item"><a href="" class="waves-effect waves-light"><i class="fas fa-list" style="zoom:.6"></i> <span>工具</span> <i class="fas fa-chevron-down" aria-hidden="true" style="zoom:.6"></i></a><ul class="sub-nav menus_item_child"><li><a href="/friends"><i class="fas fa-address-book" style="margin-top:-20px;zoom:.6"></i> <span>留言</span></a></li></ul></li><li><a href="#searchModal" class="modal-trigger waves-effect waves-light"><i id="searchIcon" class="fas fa-search" title="搜索" style="zoom:.85"></i></a></li></ul><div id="mobile-nav" class="side-nav sidenav"><div class="mobile-head bg-color"><img src="/medias/book.gif" class="logo-img circle responsive-img"><div class="logo-name">丁一的博客</div><div class="logo-desc">DingYi的博客</div></div><ul class="menu-list mobile-menu-list"><li class="m-nav-item"><a href="/" class="waves-effect waves-light"><i class="fa-fw fas fa-home"></i> 首页</a></li><li class="m-nav-item"><a href="/tags" class="waves-effect waves-light"><i class="fa-fw fas fa-tags"></i> 标签</a></li><li class="m-nav-item"><a href="/categories" class="waves-effect waves-light"><i class="fa-fw fas fa-bookmark"></i> 分类</a></li><li class="m-nav-item"><a href="/archives" class="waves-effect waves-light"><i class="fa-fw fas fa-archive"></i> 时间轴</a></li><li class="m-nav-item"><a href="/about" class="waves-effect waves-light"><i class="fa-fw fas fa-user-circle"></i> 关于</a></li><li class="m-nav-item"><a href="javascript:;"><i class="fa-fw fas fa-list"></i> 工具 <span class="m-icon"><i class="fas fa-chevron-right"></i></span></a><ul><li><a href="/friends" style="margin-left:75px"><i class="fa fas fa-address-book" style="position:absolute;left:50px"></i> <span>留言</span></a></li></ul></li></ul></div></div></nav></header><div class="bg-cover pd-header post-cover" style="background-image:url(/%5Bobject%20Object%5D)"><div class="container" style="right:0;left:0"><div class="row"><div class="col s12 m12 l12"><div class="brand"><h1 class="description center-align post-title">高项_第十四章信息文档管理与配置管理</h1></div></div></div></div></div><main class="post-container content"><link rel="stylesheet" href="/libs/tocbot/tocbot.css"><style>#articleContent h1::before,#articleContent h2::before,#articleContent h3::before,#articleContent h4::before,#articleContent h5::before,#articleContent h6::before{display:block;content:" ";height:100px;margin-top:-100px;visibility:hidden}#articleContent :focus{outline:0}.toc-fixed{position:fixed;top:64px}.toc-widget{width:345px;padding-left:20px}.toc-widget .toc-title{padding:35px 0 15px 17px;font-size:1.5rem;font-weight:700;line-height:1.5rem}.toc-widget ol{padding:0;list-style:none}#toc-content{padding-bottom:30px;overflow:auto}#toc-content ol{padding-left:10px}#toc-content ol li{padding-left:10px}#toc-content .toc-link:hover{color:#42b983;font-weight:700;text-decoration:underline}#toc-content .toc-link::before{background-color:transparent;max-height:25px;position:absolute;right:23.5vw;display:block}#toc-content .is-active-link{color:#42b983}#floating-toc-btn{position:fixed;right:15px;bottom:76px;padding-top:15px;margin-bottom:0;z-index:998}#floating-toc-btn .btn-floating{width:48px;height:48px}#floating-toc-btn .btn-floating i{line-height:48px;font-size:1.4rem}</style><div class="row"><div id="main-content" class="col s12 m12 l9"><div id="artDetail"><div class="card"><div class="card-content article-info"><div class="row tag-cate"><div class="col s7"><div class="article-tag"><a href="/tags/%E9%AB%98%E7%BA%A7%E8%BD%AF%E8%80%83/"><span class="chip bg-color">高级软考</span> </a><a href="/tags/%E4%BF%A1%E6%81%AF%E7%B3%BB%E7%BB%9F%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86%E5%B8%88/"><span class="chip bg-color">信息系统项目管理师</span></a></div></div><div class="col s5 right-align"><div class="post-cate"><i class="fas fa-bookmark fa-fw icon-category"></i> <a href="/categories/%E9%AB%98%E7%BA%A7%E8%BD%AF%E8%80%83/" class="post-category">高级软考</a></div></div></div><div class="post-info"><div class="post-date info-break-policy"><i class="far fa-calendar-minus fa-fw"></i>发布日期:&nbsp;&nbsp; 2022-09-16</div><div class="info-break-policy"><i class="far fa-file-word fa-fw"></i>文章字数:&nbsp;&nbsp; 2.6k</div><div class="info-break-policy"><i class="far fa-clock fa-fw"></i>阅读时长:&nbsp;&nbsp; 9 分</div><div id="busuanzi_container_page_pv" class="info-break-policy"><i class="far fa-eye fa-fw"></i>阅读次数:&nbsp;&nbsp; <span id="busuanzi_value_page_pv"></span></div></div></div><hr class="clearfix"><link rel="stylesheet" href="/libs/prism/prism.min.css"><div class="card-content article-card-content"><div id="articleContent"><h1>第十四章信息文档管理与配置管理</h1><h2 id="软件文档分为三类"><a class="header-anchor" href="#软件文档分为三类"></a>软件文档分为三类</h2><p>若管理文档中的3标注了开发文档，则属于开发文档里若没有开发两字，则属于管理文档中<br><img src="https://img-blog.csdnimg.cn/a4d8e5f706444eb080fac183eeec5ebd.png" alt=""></p><h2 id="文档质量的四个等级"><a class="header-anchor" href="#文档质量的四个等级"></a>文档质量的四个等级</h2><p><img src="https://img-blog.csdnimg.cn/5784fb32eba34e4d80c01e5677509917.png" alt=""></p><h2 id="配置管理"><a class="header-anchor" href="#配置管理"></a>配置管理</h2><h3 id="什么是配置管理（了解）"><a class="header-anchor" href="#什么是配置管理（了解）"></a>什么是配置管理（了解）</h3><p><img src="https://img-blog.csdnimg.cn/6369020ec68348ad9dda532c608dc89a.png" alt=""></p><h3 id="配置管理的6个主要活动"><a class="header-anchor" href="#配置管理的6个主要活动"></a>配置管理的6个主要活动</h3><p><img src="https://img-blog.csdnimg.cn/86f6356235624342bd85b6939c3bd036.png" alt=""></p><h3 id="配置项"><a class="header-anchor" href="#配置项"></a>配置项</h3><p>配置项:项目计划书、需求<mark>文档</mark>、设计<mark>文档</mark>、源<mark>代码</mark>、可执行<mark>代码</mark>、测试用例、运行软件所需的各种数据,它们经评审和检查通过后进入配置管理。</p><hr><p>有些文档生成后不可修改的(如<mark>测量报告、会议纪要、工作报告</mark>) ,就不能当做配置项。配置项是可以修改的。</p><hr><p>配置项可以分为<mark>基线配置项</mark>和<mark>非基线配置项</mark>两类</p><blockquote><p>●基线配置项可能包括所有的<mark>设计文档</mark>和<mark>源程序</mark>等;<br>●非基线配置项可能包括<mark>项目的各类计划</mark>和<mark>报告</mark>等。</p></blockquote><hr><p>所有配置项的操作权限应由CMO (配置管理员)严格管理,基本原则是:基线配置项向开发人员开放<mark>读取</mark>的权限;非基线配置项向PM、CCB (控制变更委员会)及相关人员开放。</p><h3 id="配置项的状态"><a class="header-anchor" href="#配置项的状态"></a>配置项的状态</h3><p>配置项的状态可分为"<mark>草稿</mark>”“<mark>正式</mark>” 和“<mark>修改</mark>”三种。</p><ul class="lvl-0"><li class="lvl-2"><p>配置项刚建立时,其状态为“草稿”。配置项通过评审后,其状态变为"正式”。</p></li><li class="lvl-2"><p>此后若更改配置项,则其状态变为”修改”。当配置项修改完毕并重新通过评审时,其状态又变为“正式”<br><img src="https://img-blog.csdnimg.cn/d70574b21c19432cbc2b931dac074fd6.png#pic_center" alt="配置项状态变化" width="400"></p></li></ul><h3 id="配置项的版本号"><a class="header-anchor" href="#配置项的版本号"></a>配置项的版本号</h3><p>( 1 )处于"草稿”状态的配置项的版本号格式为0.YZ , Yz的数字范围为01一99。随着草稿的修正, Yz的取值应递增。Yz的初值和增幅由用户自己把握。<br>(<mark>例如:0.1、0.5、0.99</mark>)</p><p>( 2 )处于“正式”状态的版本号格式为X.Y , x为主版本号,取值范围为1一9。Y为次版本号,取值范围为0一9。配置项第一次成为“正式”文件时,版本号为1.0。<br>(<mark>例如:1.1、1.5、2.3</mark>)</p><p>( 3 )处于“修改”状态的版本号格式为X.YZ。配置项正在修改时,一般只增大z值, X.Y值保持不变。当配置项修改完毕,状态成为“正式”时,将z值设置为0 ,增加X.Y值。<br>(<mark>例如:1.15、1.16</mark>)</p><h3 id="配置项的版本管理"><a class="header-anchor" href="#配置项的版本管理"></a>配置项的版本管理</h3><p>配置项的版本管理作用于多个配置管理活动之中，如配置标识、配置控制和配置审计、发布和交付等。在项目开发过程中,绝大部分的配置项都要经过多次的修改才能最终确定下来。对配置项的任何修改都将产生新的版本。<mark>由于我们不能保证新版本一定比旧版本”好”, 所以不能抛弃旧版本</mark>。版本管理的目的是<mark>按照一定的规则保存配置项的所有版本</mark>,避免发生版本丢失或混淆等现象,并且可以快速准确地查找到配置项的任何版本。</p><h3 id="配置基线（了解）"><a class="header-anchor" href="#配置基线（了解）"></a>配置基线（了解）</h3><p>配置基线(常简称为基线)由-组配置项组成,这些配置项构成一个相对稳定的逻辑实体。基线中的配置项被“冻结”了,<mark>不能再被任何人随意修改</mark>。对基线的变更必须遵循正式的变更控制程序。</p><hr><p>一组拥有唯一标识号的需求、设计、源代码文卷以及相应的可执行代码、构造文卷和用户文档构成一条基线。 产品的一个测试版本(可能包括需求分析说明书、概要设计说明书、详细设计说明书、己编译的可执行代码、测试大纲、测试用例、使用手册等)是基线的一个例子。</p><hr><p>基线通常对应于开发过程中的里程碑( Milestone) ,一个产品可以有多个基线,也可以只有一个基线。交付给外部顾客的基线一般称为<mark>发行基线</mark>( Release) ,内部开发使用的基线一般称为<mark>构造基线</mark> ( Build)。</p><h3 id="配置库"><a class="header-anchor" href="#配置库"></a>配置库</h3><p>配置库可以分开发库、受控库、产品库3种:<br>①开发库,也称为动态库、程序员库或工作库,用于保存开发人员当前正在开发的配置实体,动态库是开发人员的个人工作区,由开发人员自行控制。库中的信息可能有较为频繁的修改。( <mark>可以任意的修改</mark>)</p><p>②受控库,也称为主库,包含当前的基线加上对基线的变更。受控库中的配置项被置于完全的配置管理之下。在信息系统开发的某个阶段工作结束时，将当前的工作产品存入受控库。( <mark>存放阶段性产物的，可以修改,需要走变，更流程</mark>)</p><p>③产品库,也称为静态库、发行库、软件仓库,包含已发布使用的各种基线的存档,被置于完全的配置管理之下。在开发的信息系统产品完成系统测试之后,作为最终产品存入产品库内,等待交付用户或现场安装。 (<mark>存放最终产品的, 一般不再修改,真要修改的话需要走变更流程</mark>)</p><blockquote><p>了解配置库的建库模式有两种：按配置类型建库和按任务建库<br>( 1 )按配置项的类型分类建库，适用于通用软件的开发组织。在这样的组织内,往往产品的继承性较强,工具比较统- - ,对并行开发有一定的需求使用这样的库结构有利于对配置项的统一管理和控制,同时也能提高编译和发布的效率。<br>( 2 )按开发任务建立相应的配置库,适用于专业软件的开发组织。在这样的组织内,使用的开发I具种类繁多,开发模式以线性发展为主,所以就没有必要把配置项严格地分类存储,人为增加目录的复杂性。对于研发性的软件组织来说,采用这种设置策略比较灵活。</p></blockquote><h3 id="配置库的权限设置（了解）"><a class="header-anchor" href="#配置库的权限设置（了解）"></a>配置库的权限设置（了解）</h3><p><img src="https://img-blog.csdnimg.cn/de659121a9894a7db0f12a12bb732a93.png" alt="配置库的操作权限"><br><img src="https://img-blog.csdnimg.cn/a2bc752710e64a908c2ee00c4232f659.png" alt="受控库的权限设置"><br><img src="https://img-blog.csdnimg.cn/c883bd5a654643389e12c48d7b82035f.png" alt="产品库的权限设置"></p><h3 id="配置控制委员会-CCB"><a class="header-anchor" href="#配置控制委员会-CCB"></a>配置控制委员会 ( CCB )</h3><p>配置控制委员会( CCB) ,负责对配置变更做出评估、审批以及监督已批准变更的实施。( CCB还有一个称呼变更控制委员会)</p><ul class="lvl-0"><li class="lvl-2"><p>其成员可以包括项目经理、用户代表、产品经理、开发工程师、测试工程师、质量控制人员、配置管理员等。CCB不必是常设机构,完全可以根据工作的需要组成,例如按变更内容和变更请求的不同,组成不同的CCB。<mark>小的项目CCB可以只有一个人,甚至只是兼职人员</mark>。</p></li><li class="lvl-2"><p>通常，CCB不只是控制配置变更,而是负有更多的配置管理任务,例如:配置管理计划审批、基线设立审批、产品发布审批等。( <mark>CCB是决策机构,不是执行机构</mark>)</p></li></ul><h3 id="配置管理员（CMO）（了解）"><a class="header-anchor" href="#配置管理员（CMO）（了解）"></a>配置管理员（CMO）（了解）</h3><p><img src="https://img-blog.csdnimg.cn/af579c6c52ec4bcdaed7680a1a60e24f.png" alt=""></p><h3 id="制定配置管理计划（了解）"><a class="header-anchor" href="#制定配置管理计划（了解）"></a>制定配置管理计划（了解）</h3><p>软件配置管理是在<mark>贯穿整个软件生命周期</mark>中建立和维护项目产品的完整性。</p><hr><p>配置管理计划由<mark>配置管理员</mark>制定，<mark>配置控制委员会</mark>负责审批。</p><hr><p>配置管理计划的主要内容为:<br>①配置管理活动,覆盖的主要活动包括配置标识、配置控制、配置状态报告、配置审计、发布管理与交付。<br>②实施这些活动的规范和流程。<br>③实施这些活动的进度安排。<br>④负责实施这些活动的人员或组织,以及他们和其他组织的关系。</p><h3 id="1-配置标识（了解）"><a class="header-anchor" href="#1-配置标识（了解）"></a>1. 配置标识（了解）</h3><p><img src="https://img-blog.csdnimg.cn/4e77034566cc43b782d0f8df6ef6d9bb.png" alt=""></p><h3 id="2-配置控制（了解）"><a class="header-anchor" href="#2-配置控制（了解）"></a>2. 配置控制（了解）</h3><p><img src="https://img-blog.csdnimg.cn/b6ad534d6eee4b67a169f83810734b23.png" alt=""></p><h3 id="3-基于配置库的变更控制"><a class="header-anchor" href="#3-基于配置库的变更控制"></a>3. 基于配置库的变更控制</h3><p>现以某软件产品升级为例，简述其流程。<br>( 1 )将待升级的基线(假设版本号为V2.1 )从产品库中取出,放入受控库。<br>( 2 )程序员将欲修改的代码段从受控库中检出(cheek out) ,放入自己的开发库中进行修改。代码被Check out后即被"锁定”, 以保证同- -段代码只能同时被一个程序员修改,如果甲正对其修改，乙就无法Check out。<br>( 3 )程序员将开发库中修改好的代码段检入( Checkin )受控库。Cheek in后,代码的”锁定”被解除,其他程序员可以Check out该段代码了。<br>( 4 )软件产品的升级修改工作全部完成后,将受控库中的新基线存入产品库中(软件产品的版本号更新为V2.2，旧的V2.1版并不删除,继续在产品库中保存)。</p><p><img src="https://img-blog.csdnimg.cn/6286ea92929f4931b3826e32bf5117dd.png#pic_center" alt="基于配置库的变更控制" width="300"></p><h3 id="4-配置状态报告"><a class="header-anchor" href="#4-配置状态报告"></a>4. 配置状态报告</h3><ol><li class="lvl-3"><p>每个受控配置项的标识和状态</p></li><li class="lvl-3"><p>每个变更申请的状态和已批准修改的实施状态</p></li><li class="lvl-3"><p>每个基线的当前和过去版本状态</p></li><li class="lvl-3"><p>其他配置管理活动的记录</p></li></ol><h3 id="5-配置审计（了解）"><a class="header-anchor" href="#5-配置审计（了解）"></a>5. 配置审计（了解）</h3><p>配置审计也称配置审核或配置评价,包括功能配置审计和物理配置审计,分别用以验证当前配置项的一致性和完整性。</p><blockquote><p>配置审计的作用: .<br>①防止向用户提交不适合的产品，如交付了用户手册的不正确版本。<br>②发现不完善的实现,如开发出不符合初始规格说明或未按变更请求实施变更。<br>③找出各配置项间不匹配或不相容的现象<br>④确认配置项已在所要求的质量控制审核之后纳入基线并入库保存。<br>⑤确认记录和文档保持着可追溯性。</p></blockquote><p>功能配置审计是审计配置项的<mark>一致性</mark>(配置项的实际功效是否与其需求一致)<br>物理配置审计是审计配置项的<mark>完整性</mark>(配置项的物理存在是否与预期一致)</p><h3 id="6-发布管理和交付（了解）"><a class="header-anchor" href="#6-发布管理和交付（了解）"></a>6. 发布管理和交付（了解）</h3><p>发布管理和交付:①存储②复制③打包④交付⑤重建</p><p>文档管理、配置管理I具:SVN、CC、GIT。</p><h2 id="各角色在配置活动中的权限"><a class="header-anchor" href="#各角色在配置活动中的权限"></a>各角色在配置活动中的权限</h2><p><img src="https://img-blog.csdnimg.cn/9054503067c743e3aaae7ee83eabb6f4.png" alt=""></p></div><hr><div class="reprint" id="reprint-statement"><div class="reprint__author"><span class="reprint-meta" style="font-weight:700"><i class="fas fa-user">文章作者: </i></span><span class="reprint-info"><a href="/about" rel="external nofollow noreferrer">丁一</a></span></div><div class="reprint__type"><span class="reprint-meta" style="font-weight:700"><i class="fas fa-link">文章链接: </i></span><span class="reprint-info"><a href="https://dingyidreams.com/2022/09/16/gao-xiang-di-14-zhang-xin-xi-wen-dang-guan-li-yu-pei-zhi-guan-li/">https://dingyidreams.com/2022/09/16/gao-xiang-di-14-zhang-xin-xi-wen-dang-guan-li-yu-pei-zhi-guan-li/</a></span></div><div class="reprint__notice"><span class="reprint-meta" style="font-weight:700"><i class="fas fa-copyright">版权声明: </i></span><span class="reprint-info">本博客所有文章除特別声明外，均采用 <a href="https://creativecommons.org/licenses/by/4.0/deed.zh" rel="external nofollow noreferrer" target="_blank">CC BY 4.0</a> 许可协议。转载请注明来源 <a href="/about" target="_blank">丁一</a> !</span></div></div><script async defer>document.addEventListener("copy", function (e) {
        let toastHTML = '<span>复制成功，请遵循本文的转载规则</span><button class="btn-flat toast-action" onclick="navToReprintStatement()" style="font-size: smaller">查看</a>';
        M.toast({html: toastHTML})
      });

      function navToReprintStatement() {
        $("html, body").animate({scrollTop: $("#reprint-statement").offset().top - 80}, 800);
      }</script><div class="tag_share" style="display:block"><div class="post-meta__tag-list" style="display:inline-block"><div class="article-tag"><a href="/tags/%E9%AB%98%E7%BA%A7%E8%BD%AF%E8%80%83/"><span class="chip bg-color">高级软考</span> </a><a href="/tags/%E4%BF%A1%E6%81%AF%E7%B3%BB%E7%BB%9F%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86%E5%B8%88/"><span class="chip bg-color">信息系统项目管理师</span></a></div></div><div class="post_share" style="zoom:80%;width:fit-content;display:inline-block;float:right;margin:-.15rem 0"><link rel="stylesheet" type="text/css" href="/libs/share/css/share.min.css"><div id="article-share"><div class="social-share" data-sites="twitter,facebook,google,qq,qzone,wechat,weibo,douban,linkedin" data-wechat-qrcode-helper="<p>微信扫一扫即可分享！</p>"></div><script src="/libs/share/js/social-share.min.js"></script></div></div></div><style>#reward{margin:40px 0;text-align:center}#reward .reward-link{font-size:1.4rem;line-height:38px}#reward .btn-floating:hover{box-shadow:0 6px 12px rgba(0,0,0,.2),0 5px 15px rgba(0,0,0,.2)}#rewardModal{width:320px;height:350px}#rewardModal .reward-title{margin:15px auto;padding-bottom:5px}#rewardModal .modal-content{padding:10px}#rewardModal .close{position:absolute;right:15px;top:15px;color:rgba(0,0,0,.5);font-size:1.3rem;line-height:20px;cursor:pointer}#rewardModal .close:hover{color:#ef5350;transform:scale(1.3);-moz-transform:scale(1.3);-webkit-transform:scale(1.3);-o-transform:scale(1.3)}#rewardModal .reward-tabs{margin:0 auto;width:210px}.reward-tabs .tabs{height:38px;margin:10px auto;padding-left:0}.reward-content ul{padding-left:0!important}.reward-tabs .tabs .tab{height:38px;line-height:38px}.reward-tabs .tab a{color:#fff;background-color:#ccc}.reward-tabs .tab a:hover{background-color:#ccc;color:#fff}.reward-tabs .wechat-tab .active{color:#fff!important;background-color:#22ab38!important}.reward-tabs .alipay-tab .active{color:#fff!important;background-color:#019fe8!important}.reward-tabs .reward-img{width:210px;height:210px}</style><div id="reward"><a href="#rewardModal" class="reward-link modal-trigger btn-floating btn-medium waves-effect waves-light red">赏</a><div id="rewardModal" class="modal"><div class="modal-content"><a class="close modal-close"><i class="fas fa-times"></i></a><h4 class="reward-title">你的赏识是我前进的动力</h4><div class="reward-content"><div class="reward-tabs"><ul class="tabs row"><li class="tab col s6 alipay-tab waves-effect waves-light"><a href="#alipay">支付宝</a></li><li class="tab col s6 wechat-tab waves-effect waves-light"><a href="#wechat">微 信</a></li></ul><div id="alipay"><img src="/medias/reward/alipay.jpg" class="reward-img" alt="支付宝打赏二维码"></div><div id="wechat"><img src="/medias/reward/wechat.png" class="reward-img" alt="微信打赏二维码"></div></div></div></div></div></div><script>$(function(){$(".tabs").tabs()})</script></div></div><style>.valine-card{margin:1.5rem auto}.valine-card .card-content{padding:20px 20px 5px 20px}#vcomments textarea{box-sizing:border-box;background:url(https://cdn.jsdelivr.net/gh/Yafine/cdn@3.1.1/social/comment_bg.png) 100% 100% no-repeat}#vcomments p{margin:2px 2px 10px;font-size:1.05rem;line-height:1.78rem}#vcomments blockquote p{text-indent:.2rem}#vcomments a{padding:0 2px;color:#4cbf30;font-weight:500;text-decoration:none}#vcomments img{max-width:100%;height:auto;cursor:pointer}#vcomments ol li{list-style-type:decimal}#vcomments ol,ul{display:block;padding-left:2em;word-spacing:.05rem}#vcomments ul li,ol li{display:list-item;line-height:1.8rem;font-size:1rem}#vcomments ul li{list-style-type:disc}#vcomments ul ul li{list-style-type:circle}#vcomments table,td,th{padding:12px 13px;border:1px solid #dfe2e5}#vcomments table,td,th{border:0}table tr:nth-child(2n),thead{background-color:#fafafa}#vcomments table th{background-color:#f2f2f2;min-width:80px}#vcomments table td{min-width:80px}#vcomments h1{font-size:1.85rem;font-weight:700;line-height:2.2rem}#vcomments h2{font-size:1.65rem;font-weight:700;line-height:1.9rem}#vcomments h3{font-size:1.45rem;font-weight:700;line-height:1.7rem}#vcomments h4{font-size:1.25rem;font-weight:700;line-height:1.5rem}#vcomments h5{font-size:1.1rem;font-weight:700;line-height:1.4rem}#vcomments h6{font-size:1rem;line-height:1.3rem}#vcomments p{font-size:1rem;line-height:1.5rem}#vcomments hr{margin:12px 0;border:0;border-top:1px solid #ccc}#vcomments blockquote{margin:15px 0;border-left:5px solid #42b983;padding:1rem .8rem .3rem .8rem;color:#666;background-color:rgba(66,185,131,.1)}#vcomments pre{font-family:monospace,monospace;padding:1.2em;margin:.5em 0;background:#272822;overflow:auto;border-radius:.3em;tab-size:4}#vcomments code{font-family:monospace,monospace;padding:1px 3px;font-size:.92rem;color:#e96900;background-color:#f8f8f8;border-radius:2px}#vcomments pre code{font-family:monospace,monospace;padding:0;color:#e8eaf6;background-color:#272822}#vcomments pre[class*=language-]{padding:1.2em;margin:.5em 0}#vcomments code[class*=language-],pre[class*=language-]{color:#e8eaf6}#vcomments [type=checkbox]:not(:checked),[type=checkbox]:checked{position:inherit;margin-left:-1.3rem;margin-right:.4rem;margin-top:-1px;vertical-align:middle;left:unset;visibility:visible}#vcomments b,strong{font-weight:700}#vcomments dfn{font-style:italic}#vcomments small{font-size:85%}#vcomments cite{font-style:normal}#vcomments mark{background-color:#fcf8e3;padding:.2em}#vcomments table,td,th{padding:12px 13px;border:1px solid #dfe2e5}table tr:nth-child(2n),thead{background-color:#fafafa}#vcomments table th{background-color:#f2f2f2;min-width:80px}#vcomments table td{min-width:80px}#vcomments [type=checkbox]:not(:checked),[type=checkbox]:checked{position:inherit;margin-left:-1.3rem;margin-right:.4rem;margin-top:-1px;vertical-align:middle;left:unset;visibility:visible}</style><div class="card valine-card" data-aos="fade-up"><div class="comment_headling" style="font-size:20px;font-weight:700;position:relative;padding-left:20px;top:15px;padding-bottom:5px"><i class="fas fa-comments fa-fw" aria-hidden="true"></i> <span>评论</span></div><div id="vcomments" class="card-content" style="display:grid"></div></div><script src="/libs/valine/av-min.js"></script><script src="/libs/valine/Valine.min.js"></script><script>new Valine({el:"#vcomments",appId:"ugrCXJtsapduyVcY1j6g0YkQ-gzGzoHsz",appKey:"XhFi3xbIoz6iDkFKQXzKTXi8",serverURLs:"",notify:!1,verify:!1,visitor:!0,avatar:"mm",pageSize:"10",lang:"zh-cn",placeholder:"just go go"})</script><article id="prenext-posts" class="prev-next articles"><div class="row article-row"><div class="article col s12 m6" data-aos="fade-up"><div class="article-badge left-badge text-color"><i class="fas fa-chevron-left"></i>&nbsp;上一篇</div><div class="card"><a href="/2022/09/16/gao-xiang-di-15-17-zhang-zhi-shi-guan-li-xiang-mu-bian-geng-guan-li-zhan-lue-guan-li/"><div class="card-image"><img src="/%5Bobject%20Object%5D" class="responsive-img" alt="高项_第15-17章知识管理&amp;项目变更管理&amp;战略管理"> <span class="card-title">高项_第15-17章知识管理&amp;项目变更管理&amp;战略管理</span></div></a><div class="card-content article-content"><div class="summary block-with-text"></div><div class="publish-info"><span class="publish-date"><i class="far fa-clock fa-fw icon-date"></i>2022-09-16 </span><span class="publish-author"><i class="fas fa-bookmark fa-fw icon-category"></i> <a href="/categories/%E9%AB%98%E7%BA%A7%E8%BD%AF%E8%80%83/" class="post-category">高级软考</a></span></div></div><div class="card-action article-tags"><a href="/tags/%E9%AB%98%E7%BA%A7%E8%BD%AF%E8%80%83/"><span class="chip bg-color">高级软考</span> </a><a href="/tags/%E4%BF%A1%E6%81%AF%E7%B3%BB%E7%BB%9F%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86%E5%B8%88/"><span class="chip bg-color">信息系统项目管理师</span></a></div></div></div><div class="article col s12 m6" data-aos="fade-up"><div class="article-badge right-badge text-color">下一篇&nbsp;<i class="fas fa-chevron-right"></i></div><div class="card"><a href="/2022/09/16/gao-xiang-di-12-zhang-xiang-mu-he-tong-guan-li/"><div class="card-image"><img src="/%5Bobject%20Object%5D" class="responsive-img" alt="高项_第十三章项目合同管理"> <span class="card-title">高项_第十三章项目合同管理</span></div></a><div class="card-content article-content"><div class="summary block-with-text"></div><div class="publish-info"><span class="publish-date"><i class="far fa-clock fa-fw icon-date"></i>2022-09-16 </span><span class="publish-author"><i class="fas fa-bookmark fa-fw icon-category"></i> <a href="/categories/%E9%AB%98%E7%BA%A7%E8%BD%AF%E8%80%83/" class="post-category">高级软考</a></span></div></div><div class="card-action article-tags"><a href="/tags/%E9%AB%98%E7%BA%A7%E8%BD%AF%E8%80%83/"><span class="chip bg-color">高级软考</span> </a><a href="/tags/%E4%BF%A1%E6%81%AF%E7%B3%BB%E7%BB%9F%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86%E5%B8%88/"><span class="chip bg-color">信息系统项目管理师</span></a></div></div></div></div></article></div><script type="text/javascript" src="/libs/codeBlock/codeBlockFuction.js"></script><script type="text/javascript" src="/libs/prism/prism.min.js"></script><script type="text/javascript" src="/libs/codeBlock/codeLang.js"></script><script type="text/javascript" src="/libs/codeBlock/codeCopy.js"></script><script type="text/javascript" src="/libs/codeBlock/codeShrink.js"></script></div><div id="toc-aside" class="expanded col l3 hide-on-med-and-down"><div class="toc-widget card" style="background-color:#fff"><div class="toc-title"><i class="far fa-list-alt"></i>&nbsp;&nbsp;目录</div><div id="toc-content"></div></div></div></div><div id="floating-toc-btn" class="hide-on-med-and-down"><a class="btn-floating btn-large bg-color"><i class="fas fa-list-ul"></i></a></div><script src="/libs/tocbot/tocbot.min.js"></script><script>$(function () {
        tocbot.init({
            tocSelector: '#toc-content',
            contentSelector: '#articleContent',
            headingsOffset: -($(window).height() * 0.4 - 45),
            collapseDepth: Number('2'),
            headingSelector: 'h2, h3, h4, h5'
        });

        // Set scroll toc fixed.
        let tocHeight = parseInt($(window).height() * 0.4 - 64);
        let $tocWidget = $('.toc-widget');
        $(window).scroll(function () {
            let scroll = $(window).scrollTop();
            /* add post toc fixed. */
            if (scroll > tocHeight) {
                $tocWidget.addClass('toc-fixed');
            } else {
                $tocWidget.removeClass('toc-fixed');
            }
        });

        
        /* 修复文章卡片 div 的宽度. */
        let fixPostCardWidth = function (srcId, targetId) {
            let srcDiv = $('#' + srcId);
            if (srcDiv.length === 0) {
                return;
            }

            let w = srcDiv.width();
            if (w >= 450) {
                w = w + 21;
            } else if (w >= 350 && w < 450) {
                w = w + 18;
            } else if (w >= 300 && w < 350) {
                w = w + 16;
            } else {
                w = w + 14;
            }
            $('#' + targetId).width(w);
        };

        // 切换TOC目录展开收缩的相关操作.
        const expandedClass = 'expanded';
        let $tocAside = $('#toc-aside');
        let $mainContent = $('#main-content');
        $('#floating-toc-btn .btn-floating').click(function () {
            if ($tocAside.hasClass(expandedClass)) {
                $tocAside.removeClass(expandedClass).hide();
                $mainContent.removeClass('l9');
            } else {
                $tocAside.addClass(expandedClass).show();
                $mainContent.addClass('l9');
            }
            fixPostCardWidth('artDetail', 'prenext-posts');
        });
        
    });</script></main><footer class="page-footer bg-color"><link rel="stylesheet" href="/libs/aplayer/APlayer.min.css"><style>.aplayer .aplayer-lrc p{display:none;font-size:12px;font-weight:700;line-height:16px!important}.aplayer .aplayer-lrc p.aplayer-lrc-current{display:none;font-size:15px;color:#42b983}.aplayer.aplayer-fixed.aplayer-narrow .aplayer-body{left:-66px!important}.aplayer.aplayer-fixed.aplayer-narrow .aplayer-body:hover{left:0!important}</style><div><div class="row"><meting-js class="col l8 offset-l2 m10 offset-m1 s12" server="netease" type="playlist" id="503838841" fixed="true" autoplay theme="#42b983" loop order="random" preload="auto" volume="0.7" list-folded="true"></meting-js></div></div><script src="/libs/aplayer/APlayer.min.js"></script><script src="/libs/aplayer/Meting.min.js"></script><div class="container row center-align" style="margin-bottom:0!important"><div class="col s12 m8 l8 copy-right">Copyright&nbsp;&copy; <span id="year">2022-2023</span> <a href="/about" target="_blank">丁一</a> |&nbsp;Powered by&nbsp;<a href="https://hexo.io/" target="_blank">Hexo</a> |&nbsp;Theme&nbsp;<a href="https://github.com/blinkfox/hexo-theme-matery" target="_blank">Matery</a><br>&nbsp;<i class="fas fa-chart-area"></i>&nbsp;站点总字数:&nbsp;<span class="white-color">166.5k</span> <span id="busuanzi_container_site_pv">&nbsp;|&nbsp;<i class="far fa-eye"></i>&nbsp;总访问量:&nbsp; <span id="busuanzi_value_site_pv" class="white-color"></span> </span><span id="busuanzi_container_site_uv">&nbsp;|&nbsp;<i class="fas fa-users"></i>&nbsp;总访问人数:&nbsp; <span id="busuanzi_value_site_uv" class="white-color"></span></span><br><br></div><div class="col s12 m4 l4 social-link social-statis"><a href="https://github.com/DreamUnity" class="tooltipped" target="_blank" data-tooltip="访问我的GitHub" data-position="top" data-delay="50"><i class="fab fa-github"></i> </a><a href="mailto:704193119@qq.com" class="tooltipped" target="_blank" data-tooltip="邮件联系我" data-position="top" data-delay="50"><i class="fas fa-envelope-open"></i> </a><a href="tencent://AddContact/?fromId=50&fromSubId=1&subcmd=all&uin=704193119" class="tooltipped" target="_blank" data-tooltip="QQ联系我: 704193119" data-position="top" data-delay="50"><i class="fab fa-qq"></i> </a><a href="/atom.xml" class="tooltipped" target="_blank" data-tooltip="RSS 订阅" data-position="top" data-delay="50"><i class="fas fa-rss"></i></a></div></div></footer><div class="progress-bar"></div><div id="searchModal" class="modal"><div class="modal-content"><div class="search-header"><span class="title"><i class="fas fa-search"></i>&nbsp;&nbsp;搜索</span> <input type="search" id="searchInput" name="s" placeholder="请输入搜索的关键字" class="search-input"></div><div id="searchResult"></div></div></div><script type="text/javascript">$(function(){!function(t,s,i){"use strict";$.ajax({url:t,dataType:"xml",success:function(t){var e=$("entry",t).map(function(){return{title:$("title",this).text(),content:$("content",this).text(),url:$("url",this).text()}}).get(),n=document.getElementById(s),r=document.getElementById(i);n.addEventListener("input",function(){var f='<ul class="search-result-list">',m=this.value.trim().toLowerCase().split(/[\s\-]+/);r.innerHTML="",this.value.trim().length<=0||(e.forEach(function(t){var n,e,r,s,i,l=!0,a=t.title.trim().toLowerCase(),c=t.content.trim().replace(/<[^>]+>/g,"").toLowerCase(),u=0===(u=t.url).indexOf("/")?t.url:"/"+u,o=-1,h=-1;""!==a&&""!==c&&m.forEach(function(t,e){n=a.indexOf(t),o=c.indexOf(t),n<0&&o<0?l=!1:(o<0&&(o=0),0===e&&(h=o))}),l&&(f+="<li><a href='"+u+"' class='search-result-title'>"+a+"</a>",e=t.content.trim().replace(/<[^>]+>/g,""),0<=h&&(s=h+80,(r=h-20)<0&&(r=0),0===r&&(s=100),s>e.length&&(s=e.length),i=e.substr(r,s),m.forEach(function(t){var e=new RegExp(t,"gi");i=i.replace(e,'<em class="search-keyword">'+t+"</em>")}),f+='<p class="search-result">'+i+"...</p>"),f+="</li>")}),f+="</ul>",r.innerHTML=f)})}})}("/search.xml","searchInput","searchResult")})</script><div id="backTop" class="top-scroll"><a class="btn-floating btn-large waves-effect waves-light" href="#!"><i class="fas fa-arrow-up"></i></a></div><script src="/libs/materialize/materialize.min.js"></script><script src="/libs/masonry/masonry.pkgd.min.js"></script><script src="/libs/aos/aos.js"></script><script src="/libs/scrollprogress/scrollProgress.min.js"></script><script src="/libs/lightGallery/js/lightgallery-all.min.js"></script><script src="/js/matery.js"></script><script src="https://ssl.captcha.qq.com/TCaptcha.js"></script><script src="/libs/others/TencentCaptcha.js"></script><button id="TencentCaptcha" data-appid="xxxxxxxxxx" data-cbfn="callback" type="button" hidden></button><script>!function(){var t=document.createElement("script"),e=window.location.protocol.split(":")[0];t.src="https"===e?"https://zz.bdstatic.com/linksubmit/push.js":"http://push.zhanzhang.baidu.com/push.js";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(t,s)}()</script><script async src="/libs/others/busuanzi.pure.mini.js"></script><script type="text/javascript" src="/libs/background/ribbon-dynamic.js" async></script><script src="/libs/instantpage/instantpage.js" type="module"></script></body></html>